Methods and apparatus for optimally positioning objects for automated machining

ABSTRACT

Methods and apparatus for optimally positioning objects for automated machining are described herein. An example build file generator described herein includes an object file manager to identify a first toolpath volume associated with a first object to be formed via an additive manufacturing (AM) process. The first toolpath volume is based on a first toolpath of a first post-manufacturing process to be used on the first object. The object file manager is also to identify a second toolpath volume associated with a second object to be formed via the AM process. The second toolpath volume is based on a second toolpath of a second post-manufacturing process to be used on the second object. The example build file generator also includes a layout determiner to determine a layout of the first and second objects to be formed on a substrate by the AM process based on the first and second toolpath volumes.

RELATED APPLICATION

This patent claims priority to Singapore Patent Application No.10201710089 W, filed Dec. 5, 2017, and entitled “Methods and Apparatusfor Optimally Positioning Objects for Automated Machining,” which ishereby incorporated by reference in its entirety.

FIELD OF THE DISCLOSURE

This disclosure relates generally to automated machining and, moreparticularly, to methods and apparatus for optimally positioning objectsfor automated machining.

BACKGROUND

Additive manufacturing (AM), sometimes referred to as 3D printing,generally refers to a variety of processes that can be used to create athree-dimensional structure by adding layer-upon-layer of material tobuild the structure. Although the resolution of a structure produced byan AM machine is sometimes sufficient for a given application, one ormore subtractive manufacturing processes (e.g., drilling, cutting, etc.)are often performed on the structure after the AM process to achievegreater precision in the structure.

SUMMARY

An example build file generator disclosed herein includes an object filemanager to identify a first toolpath volume associated with a firstobject to be formed via an additive manufacturing (AM) process. Thefirst toolpath volume is based on a first toolpath of a firstpost-manufacturing process to be used on the first object. The objectfile manager is also to identify a second toolpath volume associatedwith a second object to be formed via the AM process. The secondtoolpath volume is based on a second toolpath of a secondpost-manufacturing process to be used on the second object. The examplebuild file generator also includes a layout determiner to determine alayout of the first and second objects to be formed on a substrate bythe AM process based on the first and second toolpath volumes. Accordingto the layout, the first object is at least partially disposed withinthe second toolpath volume.

An example method of producing objects disclosed herein includesbuilding, via an additive manufacturing (AM) machine, a first object anda second object on a substrate according to a build file. The build filedefines a layout of the first object and the second object on thesubstrate. According to the layout, the second object is at leastpartially disposed within a first toolpath volume associated with thefirst object. The first toolpath volume is based on a first toolpath fora first post-manufacturing process to be performed on the first object.The example method also includes removing the second object from thesubstrate and, after removing the second object from the substrate,performing, via a first post-manufacturing machine, the firstpost-manufacturing process on the first object while the first object isfixed on the substrate.

A non-transitory machine readable storage medium disclosed hereinincludes instructions that, when executed, cause at least one machine toat least identify a first toolpath volume associated with a first objectto be formed via an additive manufacturing (AM) process, where the firsttoolpath volume is based on a first toolpath of a firstpost-manufacturing process to be performed on the first object, andidentify a second toolpath volume associated with a second object to beformed via the AM process, where the second toolpath volume based on asecond toolpath of a second post-manufacturing process to be performedon the second object. The instructions, when executed, further cause theat least one machine to at least generate a build file for an AM machinebased on the first toolpath volume and the second toolpath volume. Thebuild file includes a layout of the first and second objects to beformed on a substrate by the AM machine.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example build file generator, implemented inconnection with an example automated machining system, to generate anexample build file in accordance with the teachings of this disclosure.

FIG. 2 illustrates an example additive manufacturing machine that may beimplemented in the example automated machining system of FIG. 1 to buildone or more objects according to an example layout defined by theexample build file.

FIG. 3 is a side view of an example object built by the example additivemanufacturing machine of FIG. 2.

FIG. 4 illustrates an example computer numerical control (CNC) machinethat may be implemented in the example automated machining system ofFIG. 1 and used to perform one or more post-manufacturing process(es) onthe example object of FIG. 3.

FIG. 5 illustrates an example toolpath volume that may be defined aroundthe example object of FIG. 3 and used by the example build filegenerator of FIG. 1.

FIG. 6 illustrates example objects and an example substrate on which theexample object may be built.

FIG. 7 illustrates an example layout of the example objects of FIG. 6 onthe example substrate as defined by an example build file that may begenerated by the example build file generator of FIG. 1.

FIGS. 8A-8J illustrate an example sequence of post-manufacturingprocess(es) and removal of the example objects of FIGS. 6 and 7 that maybe determined by the example build file generator of FIG. 1.

FIGS. 9A and 9B illustrate an example machine that may be implemented inthe example automated machining system of FIG. 1 and used to spray aprotective foam on one or more objects.

FIG. 10 is a flowchart representative of example machine readableinstructions that may be executed to implement the example build filegenerator of FIG. 1.

FIG. 11 is a flowchart representative of an example method that may beperformed by one or more example machine(s) of the example automatedmachining system of FIG. 1 to build one or more objects according to asequence of post-manufacturing process(es) and removal as determined bythe example build file generator.

FIG. 12 is a processor platform structured to execute the exampleinstructions of FIG. 10 to implement the example build file generator ofFIG. 1.

The figures are not to scale. Instead, to clarify multiple layers andregions, the thickness of the layers may be enlarged in the drawings.Wherever possible, the same reference numbers will be used throughoutthe drawing(s) and accompanying written description to refer to the sameor like parts. As used in this patent, stating that any part (e.g., alayer, film, area, or plate) is in any way positioned on (e.g.,positioned on, located on, disposed on, or formed on, etc.) anotherpart, indicates that the referenced part is either in contact with theother part, or that the referenced part is above the other part with oneor more intermediate part(s) located therebetween. Stating that any partis in contact with another part means that there is no intermediate partbetween the two parts.

DETAILED DESCRIPTION

Additive manufacturing (AM), sometimes referred to as three-dimensional(3D) printing, generally refers to a variety of manufacturing processesthat can be used to create a three-dimensional object by addinglayer-upon-layer of material to build the object. As used herein, theterms object, component, and part are defined to mean any 3D articlethat can be built via one or more machining processes, such as via an AMprocess. AM processes are now being used to create objects for almostany type of product, such as process control equipment (e.g., valves,regulators, sensors, etc.), vehicle parts, cellphone parts, etc. In sometypes of AM processes, such as powder bed fusion, the object is built ona substrate. As used herein, a substrate is defined to mean any piece ofmaterial (e.g., metal, plastic, etc.) upon which one or more objects maybe built. With a powder bed fusion machine, for example, the object(s)is/are welded and/or otherwise coupled at its/their base to thesubstrate. After an object is built on the substrate, the object may beseparated from the substrate.

In some examples, to achieve the necessary specifications or improveproperties of the object such as, for example, surface quality,geometric accuracy, mechanical properties, etc., it may be desired ornecessary to perform one or more post-manufacturing process(es) on theobject. The terms “post-process,” “post-manufacturing process,” and/orvariations thereof are used herein to mean any process that may beperformed on an object after the general shape of the object has beenformed (e.g., by an AM process). For example, one or more subtractivemanufacturing processes (e.g., drilling, cutting, etc.) may be used toremove temporary support structures built during the AM process, toimprove the surface resolution of the object, to create additional edgesor openings, etc. Further, other post-manufacturing processes, such as,for example, de-powdering, cleaning, 3D scanning, painting, heattreating, shot peening, electrochemical treatment, etc., may be used toimprove the mechanical and/or tactile properties of the surface ofadditively manufactured parts.

In some instances, it is beneficial to retain the object on thesubstrate while performing the one or more post-manufacturingprocess(es). For example, some objects may not have a suitable fixturepoint (e.g., because of their complex geometries) to fix the object to amachine for post-manufacturing processing. Thus, if the object isremoved, an appropriate fixture point has to be added or an additionalstructure (which acts as a fixture point) has to be created on theobject during the AM process. Also, fixing an object to a machinerequires significant time and, thus, reduces cost efficiency.

To increase the efficiency of the AM process, it is often desired tobuild multiple objects on the substrate at the same time. The objectsmay be arranged in a relatively dense layout to fit as many objects onthe substrate as possible, which increases (e.g., maximizes) the numberof objects that can be produced in a single batch. Further, as mentionedabove, one or more post-manufacturing process(es) are often desired orneeded to finish the object(s). However, these post-manufacturingprocess(es) require room or space around the respective objects toaccommodate the toolpaths of the respective post-manufacturingprocess(es). As such, the objects would need to be spaced apart fromeach other to accommodate the toolpaths of the post-manufacturingmachines. However, increasing the spacing between the objects results infewer objects being built on a common substrate and, thus, lowers theefficiency of the build processes. For example, while a high-densitylayout may maximize build efficiency, such a high-density layout oftenprevents a post-manufacturing process tool, such as a bit of a computernumeric control (CNC) machine, from accessing each object. In otherwords, the other objects on the build substrate may obstruct thetoolpath of the post-manufacturing machine. While it may be possible toremove the objects from the substrate and post-process the objectsindividually, as explained above, individually fixing objects topost-manufacturing machine(s) is extremely time consuming, which reducesefficiency and productivity. Any increased efficiency and productivitygained through the use of a high-density layout may be lost to theinefficiencies introduced by individually post-processing each object ofa batch.

Disclosed herein are example methods, apparatus, systems, and articlesof manufacture for generating a build file or model that enables ahigh-density layout of objects while permitting the objects to bemachined while the objects are still fixed to the substrate. Theexamples disclosed herein select a plurality of objects and determine anoptimal layout of the objects to be built or formed on a commonsubstrate based on toolpath volumes associated with the respectiveobjects. As used herein, a “toolpath volume” means a volume around anobject that a tool of a post-manufacturing machine occupies during apost-manufacturing process performed on the object and which is to bekept clear to avoid a collision with another object. Thus, a toolpathvolume may be represented by, for example, a set of coordinates ordistances relative to the object (e.g., relative to a center point ofthe object, relative to an edge or surface of the object, etc.) thatdefine(s) one or more boundaries around the object.

An example build file generator disclosed herein analyzes a plurality ofobject files (representing objects to be built via an AM process) andmachining files associated with the object files that define toolpathvolumes around each of the objects. The example build file generator mayselect two or more objects (e.g., from a larger set of possible objects)and define a layout of the objects to be built on a common substrateusing an AM machine based on the toolpath volumes associated with theobjects. The example build file may be used by an AM machine to buildthe objects on the substrate according to the defined layout.

In some examples, the build file generator also determines a sequence ofpost-manufacturing process(es) and removal that is to be performed onthe objects on the substrate. The sequence, which may be stored as aseparate file (e.g., a machining file for the build) or included as partof the build file, defines an order in which the one or morepost-manufacturing process(es) are to be performed on each of theobjects and/or the sequence of removal of the objects. For example, asequence may specify that (1) a first post-manufacturing process is tobe performed on a first object and then the first object is to beremoved, (2) a second post-manufacturing process (which may be the sameor different as the first post-manufacturing process) is to be performedon a second object and then the second object is to be removed, and soforth. By using the example sequence, one or more of the objects may bepositioned within (or partially within) a toolpath volume of anotherobject because the example sequence ensures that the toolpath volumearound each of the objects is clear before the post-manufacturing and/orremoval of the next object(s) is/are initiated. For example, a layoutmay specify that a first object and a second object are to be built on asubstrate where the first object is disposed within (or partiallywithin) the toolpath volume of the second object. The sequence mayspecify that the one or more post-manufacturing process(es) that are tobe performed on the first object are to be performed first, and then thefirst object is to be removed. Then, the one or more post-manufacturingprocess(es) that are to be performed on the second object can beperformed, because the area around the second object (which waspreviously occupied by the first object) is now clear, and so forth. Asa result, the objects can be arranged in a layout that increases (e.g.,maximizes) the density of objects on the substrate, thereby decreasingthe total build time of the objects and increasing efficiency of themachining process.

Thus, example methods, apparatus, systems, and articles of manufacturedisclosed herein enable a high-density object layout on a substratewhile permitting the objects to be machined while the objects areattached to the substrate. A high-density object layout reduces totalproduction time required to produce a set of (e.g., two or more)objects, thereby increasing efficiency and productivity. Further, theexample methods, apparatus, systems, and articles of manufacture solvethe problem associated with performing post-manufacturing processes on ahigh-density object layout by using the toolpath volumes of each objectand defining the layout and sequence of removal based on the toolpathvolumes. Thus, the example methods, apparatus, systems, and articles ofmanufacture enable the objects to remain fixed to the substrate duringthe post-manufacturing processing. By obviating the need to remove eachobject from the substrate, individually fixing each object to thepost-manufacturing machine(s), and individually machining each part, theexamples disclosed herein further increase the efficiency andproductivity of the manufacturing and post-manufacturing processes.

Turning now to the figures, FIG. 1 illustrates an example automatedmachining system 100 that may be used to manufacture one or moreobjects. The automated machining system 100 may be part of a machiningor manufacturing facility (e.g., a 3D printing facility), for example,that receives work orders and produces the objects according thespecifications of the work orders. In the illustrated example, theautomated machining system 100 includes an additive manufacturing (AM)machine 102 that builds one or more objects via an AM process and one ormore post-manufacturing machine(s) 104 that perform one or morepost-manufacturing process(es) on the object(s) after being built by theAM machine 102. In the illustrated example, the AM machine 102 buildsthe one or more object(s) on a substrate 106 according to a build file108 (sometimes referred to as a build model), which defines the shapes,boundaries, orientations, etc. of the object(s) to be built or formed(as disclosed in further detail herein). The example substrate 106 (witha plurality of example objects) is illustrated in FIG. 1 as beingtransferred from the AM machine 102 to the post-manufacturing machine(s)104. After the object(s) are created on the substrate 106 by the AMmachine 102, one or more post-manufacturing process(es) may be performedon the object(s), including removal of the object(s) from the substrate106.

Referring briefly to FIG. 2, FIG. 2 illustrates an example powder bedfusion machine 200, which is a type of AM machine that may beimplemented as the AM machine 102 of FIG. 1. The powder bed fusionmachine 200 may be used to build one or more object(s) on a substrate,such as the substrate 106, according to a build file, such as the buildfile 108 (FIG. 1). The substrate 106 may be, for example, a metal plate.In the illustrated example, the powder bed fusion machine 200 includes abuild platform 202 that is moveable up and down via a platform motor204. To create one or more objects, the substrate 106 is placed on thebuild platform 202. Then, a roller 206 spreads a thin layer (e.g., 40microns) of powder material 208 from a reservoir 210 (e.g., a hopper)over a top of the substrate 106 and the build platform 202. The powdermaterial 208 may be any metal and/or polymer based material. Then, alaser 212 applies energy to the layer of powder material 208 (in theshape of a cross-section of the 3D object(s) according to the buildfile), which sinters, fuses, and/or otherwise hardens the powdermaterial 208 to form a layer of the object(s). In this example, thefirst layer of the object(s) is/are welded to the substrate 106. Next,the build platform 202 is moved downward a small amount, (e.g., 0.1millimeter (mm)) via the platform motor 204, and the roller 206 spreadsanother layer of the powder material 208 over the build platform 202 andover the first hardened layer(s). The laser 212 then applies energy tothe powder material 208 to harden the material onto the previouslayer(s). This process is repeated to build the object(s)layer-by-layer. An example object 214 is illustrated in FIG. 2, which iswelded to the substrate 106.

The loose, unfused powder material 208 surrounding the object(s) on thebuild platform 202 remain in position throughout the process and isremoved at the end (e.g., via a de-powdering unit). Other types ofpowder bed fusion AM processes may be completed by a variety oftechniques such as, for example, direct metal laser sintering, electronbeam melting, selective heat sintering, selective laser melting,selective laser sintering, etc. Powder bed fusion methods use either alaser or electron beam to melt and fuse material powder together. Whilesome of the examples disclosed herein are described in connection with apowder bed fusion AM machine, the examples disclosed herein can likewisebe implemented with any other type of AM process or machine, such as VATphotopolymerisation, material jetting, binder jetting, materialextrusion, sheet lamination, and/or directed energy deposition.

Building objects with an AM machine, such as the powder bed fusionmachine 200, requires significant time because the objects are built bycreating thousands of thin layers of material (or even more). Forexample, an object having 10,000 layers may require several hours, oreven days to produce. One of the major efficiency factors thatcontributes to the AM process time is the re-spreading process/time.Therefore, if multiple objects can be built next to each other at thesame time, the total number of respreads that would otherwise be neededis greatly reduced (as compared to building multiple objects at separatetimes), because the cross-sections of multiple objects can be createdusing the same spread. Thus, it is often desirable to select a set ofobjects and position the selected objects in a high-density layout onthe substrate 106. Increasing the density of a layout is one way tomaximize the number of objects that can be produced in a single batch,thereby reducing the number of batches needed to produce a set ofobjects.

However, after the object(s) are built via the AM process, one or morepost-manufacturing process(es) are often needed or desired to finish therespective object(s) according to a desired specification. For example,an object may be built with one or more temporary support structureswithin openings or arches of the object. After building the object, thetemporary support structures are to be removed. Further, one or moreprocesses may be desired to smooth the surface(s) of the object (becauseof the potentially rough (non-smooth) surface texture created via the AMprocess). Thus, one or more post-manufacturing process(es) may need orbe desired to be performed on the object(s).

For example, FIG. 3 illustrates an enlarged side view of the exampleobject 214 built using the powder bed fusion machine 200 of FIG. 2. Asshown, the object 214 includes an opening 300 extending through theobject 214. During the AM process, one or more temporary supportstructures 302 are built inside of the opening 300 to support the arch(the top side of the opening). Therefore, it may be desirable to removethe support structures 302 using a subtractive manufacturing machine(e.g., drilling). Additionally or alternatively, in some examples, itmay be desirable to smooth one or more surfaces or edges of the object214.

FIG. 4 illustrates an example CNC machine 400 that may be implemented asone of the post-manufacturing machine(s) 104 of FIG. 1 and which may beused to perform one or more subtractive manufacturing processes on oneor more object(s), such as the object 214 of FIGS. 2 and 3. The CNCmachine 400 includes a robotic arm 402 with a bit 404 for removingmaterial from the object 214. The robotic arm 402 can be controlled tomove to the bit 404 to various locations around or through the object214 to remove material. Therefore, to perform one or morepost-manufacturing process(es) on the object 214, no other objects canbe in the toolpath (e.g., the path of the robotic arm 402 and/or the bit404) around the object 214, otherwise a potential collision may occur.However, as mentioned above, it is often desired to keep objects asclose together as possible and to keep the objects fixed to thesubstrate while performing the post-manufacturing process(es).

In particular, it is often beneficial to retain the objects on thesubstrate 106 while performing the one or more post-manufacturingprocess(es). For example, some objects (because of their geometries) maynot have an appropriate fixture point to fix the object to apost-manufacturing machine. Thus, if the object is removed, anappropriate fixture point has to be added or an additional structure hasto be created on the object during the AM process. Otherwise, aspecialized fixture has to be built to interface with the object, whichis expensive and time consuming. Also, fixing each object to a machinerequires significant time and, thus, reduces cost efficiency. Further,in some instances, it may be desirable to perform the samepost-manufacturing process on a plurality of the objects (e.g.,cleaning, heat treating, painting, sand-blasting, etc.). Thus, ratherthan performing the process on each object separately, it may be moreeconomical to perform the process on a batch of the objects at the sametime. Therefore, in many instances, it is more economical and efficientto keep the objects fixed to the substrate 106 during thepost-manufacturing process(es). However, as mentioned above, thepost-manufacturing process(es) often include tools (e.g., drill bits,laser jets, etc.) that need to move around the object(s) to perform therespective process(es). As such, a space or volume around the objectneeds to be kept clear to accommodate the toolpath of the respectivepost-manufacturing process so that the tool does not contact anotherobject on the substrate.

Referring back to FIG. 1, the example automated machining system 100includes a build file generator 110 that may generate a build filedefining a high-density layout of objects to increase the efficiency andproductivity of the automated machining system 100. In this example, thebuild file generator 110 is implemented on a computer 112. The examplebuild file generator 110 may be implemented as an application orsoftware program executed by a processor of the computer 112. Forexample, the example build file generator 110 may be implemented as orpart of a computer-aided design (CAD) and/or computer-aidedmanufacturing (CAM) application or software program. While in theillustrated example the build file generator 110 is implemented on thecomputer 112, in other examples, the build file generator 110 may beimplemented on another type of computing device, such as a laptop, atablet, a phone (e.g., a smart phone), a server, and/or any otherelectronic device.

In the illustrated example, the computer 112 receives a plurality ofobject files 114 a-114 n defining respective objects 116 a-116 n to bebuilt via an AM process (e.g., via the powder bed fusion machine 200 ofFIG. 2) in the example automated machining system 100. The object files114 a-114 n define the dimensions of the respective objects 116-116 nand/or any other parameters or characteristics of the objects 116-116 n(e.g., the type of material to be used for building the object, thedesired finish characteristics, tolerances, etc.). In some examples, theobject file(s) 114 a-114 n may include or define the location of one ormore support structures (e.g., the support structure 302 of FIG. 3) tobe built with the respective object(s) 116 a-116 n.

In some examples, one or more of the object file(s) 114 a-114 n includean associated machining file 117 a-117 n, which includes theinstructions for one or more post-manufacturing process(es) to beperformed on the respective object 116 a-116 n. In some examples, themachining files 117 a-117 n include the toolpath volumes for therespective objects 116 a-116 n. Each toolpath volume represents aboundary in 3D space that is to be kept clear for the tool(s) of thepost-manufacturing machine(s) 104 to perform the post-manufacturingprocess(es) on the respective object(s) 116 a-116 n. In some examples,one or more of the machining file(s) 117 a-117 n include multipletoolpaths for the respective object. For example, there may be multipletoolpath routes for a post-manufacturing machine to accomplish the samemachining process and/or there may be different types ofpost-manufacturing machines that can accomplish the same machiningprocess using different toolpath routes. The toolpath volume(s) for anobject may have been determined manually, for example, by a machinistand/or via a software program. For example, an object may be built(according to its object file) via an AM process, and then a machinistmay develop the machining file for the object based on the one or morepost-manufacturing process(es) used to finalize the object. Themachinist may define the toolpath volume(s) for the object based on thespace or clearance needed during the one or more post-manufacturingprocess(es). The toolpath volume(s) may be included as part of themachining files 117 a-117 n and/or the respective object files 114 a-114n for the objects 116 a-116 n. While the example machining files 117a-117 n are depicted as being separate files in FIG. 1, in otherexample, the machining files 117 a-117 n may be part of the respectiveobject files 114 a-114 n for the objects 116 a-116 n.

In some examples, the object files 114 a-114 n may be received as workorders. The work orders may include other information, such as a requestdate, an expected delivery date, special instructions for delivery, etc.In some examples, one or more of the object file(s) 114 a-114 n and/orthe machining file(s) 117 a-117 n are part of a library of objects. Insuch an example, one or more work orders may be received to build one ormore of the object(s) 116 a-116 n from the library. The object file(s)114 a-114 n and/or the associated machining file(s) 117 a-117 n may bestored in a memory 120, for example. As such, the object file(s) 114a-114 n and the corresponding toolpath volume(s) for each of theobject(s) 116 a-116 n may be stored in the memory 120. Additionally oralternatively, the computer 112 may receive one or more of the objectfile(s) 114 a-114 n and/or the associated machining file(s) 117 a-117 nvia any wired or wireless connection. For example, one or more of theobject file(s) 114-114 n and/or the associated machining file(s) 117a-117 n may be transmitted over the Internet to the computer 112,uploaded via a thumb-drive or other storage medium, etc. In someexamples, one or more of the object files 114 a-114 n and/or theassociated machining file(s) 117 a-117 n are generated on the computer112 (e.g., via a CAD software program).

In the illustrated example, the build file generator 110 includes anobject file manager 118 that receives and manages the object files114-114 n and/or the associated machining file(s) 117 a-117 n. In someexamples, the object file manager 118 extracts information from theobject files 114-114 n and/or the associated machining file(s) 117 a-117n and organizes or sorts the object files 114-114 n and/or theassociated machining file(s) 117 a-117 n based on, for example, numberof objects to be built, size of the respective object to be built, sizeof the associated toolpath volume, request date, expected delivery date,etc. In some examples, the object files 114-114 n (and the associatedmachining file(s) 117 a-117 n) to be built are saved in the memory 120.

In some examples, as disclosed above, the toolpath volumes for theobjects 116 a-116 n may be predefined (e.g., included in the associatedmachining files 117 a-117 n). In other examples, such as with a newobject or object file, the build file generator 110 may include a volumedefiner 122. The volume definer 122 may define one or more toolpathvolumes around an object based on the desired post-manufacturingprocess(s) to be performed on the respective object. In some examples,the toolpath volume(s) (e.g., as defined by distances from the surfacesof the object) are saved in the memory 120 with the associated objectfiles.

As mentioned above, in many instances, one or more post-manufacturingprocess(es) are to be performed on the object(s) 116 a-116 n by thepost-manufacturing machine(s) 104 after the object(s) 116 a-116 n arebuilt on the substrate 106 by the AM machine 102. The examplepost-manufacturing machine(s) 104 and/or process(es) may includesubtractive type manufacturing processes such as, for example, CNCmachining (e.g., performed by the CNC machine 400 of FIG. 4), laseretching (e.g., to etch a serial number into an object), electricaldischarge machining (EDM), electro-chemical erosion, laser cutting,water cutting, polishing, turning, drilling, boring, reaming, milling,shaping, planing, broaching, sawing, cutting, abrasive flow machining,etc. Additionally or alternatively, example post-manufacturingmachine(s) 104 and/or process(es) may include other types of machine(s)and/or process(es), such as de-powdering units, washing units, painting,media blasting, priming, heat treating, 3D scanning, a coordinatemeasuring machine (CMM), shot peening, etc.

For example, referring briefly to FIG. 5, FIG. 5 shows an exampletoolpath volume (shown in dashed lines) around the object 214 (which maycorrespond to one of the objects 116 a-116 n). The toolpath volumerepresents the space around the object 214 that one or more tool(s) ofthe post-manufacturing machine(s) 104 may travel when performingoperations (e.g., drilling, cleaning, measuring, painting, etc.) on theobject 214.

In some examples, the specific post-manufacturing process(es) to beperformed on an object are defined by the associated machining file. Forexample, the one or more post-manufacturing process(es) may bepre-selected based on certain specifications of the object (e.g., basedon a certain tolerance or surface smoothness to be achieved). In such anexample, one or more post-manufacturing process(es) may be selected tosmooth the surfaces of the object after the object is built by the AMmachine 102 and defined in the associated machining file. Additionallyor alternatively, a user (e.g., a customer) may request one or morepost-manufacturing process(es) (e.g., sand blasting, cutting, painting,etc.) to be performed on the object after being built by the AM machine102. In other examples, one or more post-manufacturing process(es) maybe selected in other manners and/or based on other considerations. Thetoolpath volume may depend on one or more factors, such as the size andshape of the respective object, the type of post-manufacturingprocess(es) to be performed, the type of post-manufacturing machine(s)(e.g., a model of CNC machine) used to perform the process(es), etc.Different ones of the post-manufacturing machine(s) 104 and/orprocess(es) may result in different toolpath volumes around an object toperform the respective post-manufacturing process(es).

To determine the layout of object(s) and/or sequence ofpost-manufacturing process and removal of the object(s), the examplebuild file generator 110 includes a layout and sequence determiner 124(sometimes referred to as a layout determiner). The layout and sequencedeterminer 124 analyzes the sizes of the objects 116 a-116 n (and/or thepossible orientations of the objects 116 a-116 n), the sizes of thetoolpath volumes associated with the objects 116 a-116 n, and/or thesize of the substrate 106 and determines a layout of a plurality of theobjects 116 a-116 n on the substrate 106 that results in a densearrangement (e.g., an arrangement that consumes the smallest area of thesubstrate 106). Additionally or alternatively, the layout and sequencedeterminer 124 may consider one or more other factors or parameters whenselecting the objects 116 a-116 n to build on the same substrate, suchas the other possible toolpath routes or volumes associated with anobject, a request date of an object (e.g., a date a work order wasplace), a promise date of a work order, the anticipated time ofcompleting the object, etc. In some examples, a user may be able toweigh these factors based on importance.

The example layout and sequence determiner 124 determines a layout thatmaximizes the density of objects to be built. In some examples, thelayout and sequence determiner 124 selects a subset of objects (e.g.,two or more objects) from the plurality of objects 116 a-116 n. Further,the layout and sequence determiner 124 determines a sequence ofpost-manufacturing processes that are to be performed on the object(s)116 a-116 n and removal of the object(s) 116 a-116 n. An example of thisprocess is disclosed in further detail in conjunction with FIGS. 8A-8J.In some examples, one or more of the object(s) 116 a-116 n built on thesame substrate 106 are a same type of object. In other examples, aplurality of different types of objects are to be built on the samesubstrate 106.

In some examples, the example build file generator 110 includes an AMformatter 126 that formats, renders and/or otherwise generates the buildfile 108 based on the layout and sequence determined by the layout andsequence determiner 124 for building in the AM machine 102. For example,the AM formatter 126 may format the build file 108 for the specifictype(s) of machine(s) that are going to build and/or work on theobjects. For example, the AM formatter 126 may convert the layout into astereo lithography file (STL file) or other type of AM file for use bythe AM machine 102. In some examples, the AM formatter 126 includes aslicer that creates or defines each of the layers to be built by the AMmachine 102 and, thus, provides the instructions for building theobject(s) 116 a-116 n according to the layout. In other examples, the AMformatter 126 may perform one or more other process(es) (e.g., numericalcontrol (NC) deposition control) to format the layout to be built by theAM machine 102. In other examples, the build file 108 may include anunformatted version of the layout and shapes of the object(s) and the AMmachine 102 may perform any formatting to create the instructions (e.g.,instructions for the laser) for creating the objects 116 a-116 n.

Once the build file 108 is generated, the AM machine 102 may build theobject(s) 116 a-116 n on the substrate 106 according to layout definedby the build file 108. In some examples, the build file 108 istransmitted to the AM machine 102 via a wired or wireless connection(e.g., an intranet system of a machining or manufacturing facility). Insome examples, the build file 108 is transferred to the AM machine 102via a storage medium (e.g., a thumb drive, a CD, etc.). In otherexamples, the computer 112 may be a computer or workstation associatedwith the AM machine 102 for operating the AM machine 102 and, thus, thebuild file 108 is not transferred outside of the computer 112.

After the object(s) 116-116 n are built or formed on the substrate 106,the one or more post-manufacturing process(es) are performed on theobject(s) 116-116 n via the post-manufacturing machine(s) 104 and theobject(s) are removed from the substrate 106. The post-manufacturingprocess(es) and removal are performed according to the sequence definedby the layout and sequence determiner 124. In some examples, one or morepost-manufacturing process(es) may be performed on multiple ones of theobject(s) 116 a-116 n on the substrate 106 at the same time. Forexample, after the object(s) 116 a-116 n are built on the substrate 106,the substrate 106 (along with the associated objects 116 a-116 n) may besent to a de-powdering unit to de-powder the substrate 106, may be sentto a washer to be cleaned, may be sent to a heater for heat treatment,may be sent to a 3D scanner or CMM to identify/confirm the measurementsand shapes of the object(s) 116-116 n, etc. Thus, in some examples, oneor more post-manufacturing process(es) may be performed on multiple onesof the object(s) 116-116 n before the object(s) 116-116 n are removed insequence (and/or additional post-manufacturing processes are performedon the object(s) 116-116 n).

In some examples, the layout and sequence determiner 124 may determinethe layout and sequence based on common post-manufacturing process(es)that are to be performed on multiple ones of the object(s) 116 a-116 n.For example, the sequence may include performing a post-manufacturingprocess (e.g., using a certain cutter) on multiple ones of the objects116 a-116 n that require the same post-manufacturing process at the sametime or immediate sequence before further processing the objects 116a-116 n and/or removing the objects 116 a-116 n, rather than performingeach machining sequence for each of the objects 116 a-116 n all the waythrough. In some examples, the object files 114 a-114 n and/or machiningfiles 117 a-117 n for the object 116 a-116 n may define the individualor discrete toolpath volumes for each of the post-manufacturingprocess(es) to be performed on a respective object, rather than a totaltoolpath volume for all of the tools paths used on a certain object. Insome such examples, the layout and sequence determiner 124 may considerthe individual toolpath volumes for each of the post-manufacturingprocess to be performed each of the objects 116 a-116 n when determiningthe layout and sequence, to ensure no collision occurs when using thesame post-manufacturing process to machine on multiple ones of theobjects 116 a-116 n at the same time or in an order. As such, ratherthan implementing a sequence where the substrate 106 is sent back to thesame post-manufacturing machine at various times, the sequence mayinclude performing the post-manufacturing process on the correspondingobjects at the same time or in an immediate order (depending on thespace limitations), which increases efficiency and productivity.

In some examples, the build file generator 110 includes a machining filegenerator 128 that generates a machining file 130 for the build (e.g.,the batch of objects on the substrate 106) that includes the determinedsequence. The machining file 130 may be stored in the memory 120, forexample, as associated with the build file 108. The machining file 130may be transmitted (via a wired or wireless connection) to thepost-manufacturing machine(s) 104, which may perform thepost-manufacturing process(es) on the object(s) 116 a-116 n inaccordance with the sequence. In some examples, the machining file 130includes the individual machining file(s) 117 a-117 n of the object(s)116 a-116 n on the substrate 106, such that the post-manufacturingmachine(s) 104 can perform the specified post-manufacturing process(es)according to the respective machining file(s) 117 a-117 n. In someexamples, the machining file generator 128 generates and/or transmitsone or more inspection files along with the machining file 130 thatis/are associated with the build. An inspection file may includeinstructions for a 3D scan or CMM program, for example, that may occurbefore or after one or more the object(s) 116 a-116 n is/are removedfrom the substrate 106. The inspection file(s) may be used to ensure theobject(s) 116 a-116 n is/are built to the proper specification (e.g.,within a threshold) (by the AM machine 102, for example) before startingone or more other post-manufacturing process(es) (e.g., machining)and/or that the object(s) 116 a-116 n meet their final dimensionalspecifications (e.g., with a threshold) before being removed from thesubstrate 106, for example.

FIG. 6 is a plan view showing example objects to be built on thesubstrate 106. In particular, FIG. 6 shows nine objects 116 a-116 i. Thetoolpath volumes are shown around each of the objects 116 a-116 i indashed lines for illustrative purposes. The toolpath volumes may beobtained from the machining files 117 a-117 i associated with theobjects 116 a-116 i and/or defined by the volume definer 122 (FIG. 1),for example. As disclosed herein, the toolpath volumes represent thespace around the respective objects 116 a-116 i needed for the one ormore post-manufacturing process(es) to be performed on the objects 116a-116 i. In the illustrated example, the first and second objects 116 a,116 b are a same type of object and the third, fourth, seventh, andeighth objects 116 c, 116 d, 116 g, 116 h are a same type of object. Ascan be understood by looking at FIG. 6, the toolpath volumes around theobjects 116 a-116 i create a relatively large area, while the substrate106 has a relatively small area. If the objects 116 a-116 i were to bespaced on the substrate 106 such that none of the toolpath volumesoverlapped, only a few of the parts could be built, or a much largersubstrate and AM machine would be needed. The layout and sequencedeterminer 124 determines a layout and sequence of removal that enablesthe objects 116 a-116 i to be post-processed and removed withoutinterfering with each other while still arranging the objects in arelatively dense spatial arrangement to fit the most objects on the samesubstrate 106.

FIG. 7 illustrates an example layout 700 determined by the layout andsequence determiner 124. Use of the build file generator 110 enables theobjects 116 a-116 i to be densely arranged on the substrate 106 in alayout that would otherwise not be achievable. As illustrated, many ofthe objects 116 a-116 i are disposed within (or partially within) thetoolpath volumes of the other objects 116 a-116 i. For example,according to the layout 700, the first object 116 a is disposed withinthe toolpath volume associated the second object 116 b. However, becausethe objects 116 a-116 i are removed according to a sequence, thetoolpath volume for each subsequent object is opened up. An examplesequence for post-processing and removal of the objects 116 a-116 i maybe, for example, (1) the first object 116 a, (2) the second object 116b, (3) the third object 116 c, (4) the fourth object 116 d, (5) thefifth object 116 e, (6) the sixth object 116 f, (7) the seventh object116 g, (8) the eighth object 116 h, and (9) the ninth object 116 i. Insome examples, as disclosed herein, an object may have multiple toolpathvolumes that are possible with the associated object, and the layout andsequence determiner 124 may select between different ones of thetoolpath volumes to create the densest layout with the other objects.For example, as illustrated in FIG. 7, the toolpath volumes for theseventh object 116 g and the eighth object 116 h are reversed ascompared to the toolpath volumes for the third object 116 c and thefourth object 116 d. Therefore, in some examples, multiple toolpathvolumes (or different orientations of the same toolpath volume) areanalyzed by the layout and sequence determiner 124 to determine theoptimal arrangement of objects.

For example, FIGS. 8A-8J show an example sequence of the objects 116a-116 i being processed (via one or more post-manufacturing process(es))and/or removed from the substrate 106 according to the sequence. Thetoolpath volumes are also shown in dashed lines in the example FIGS.8A-8J for illustrative purposes. As mentioned above, assume, forexample, the first object 116 a is the first object in the sequence tobe post-processed (if a post-manufacturing process is desired) andremoved from the substrate 106. As shown in FIG. 8A, there are no otherobjects disposed in the toolpath volume of the first object 116 a.Therefore, the post-manufacturing process(es) for the first object 116 acan be performed on the first object 116 a without the risk of toolcollision. After the post-manufacturing process(es) are performed on thefirst object 116 a, the first object 116 a is removed from the substrate106, as shown in FIG. 8B. The first object 116 a may be removed via atool (e.g., a slotting tool, a mill, etc.) on the samepost-manufacturing machine the performed the post-manufacturingprocess(es) (e.g., the CNC machine 400 of FIG. 4) or anotherpost-manufacturing machine.

Once the first object 116 a is removed from the substrate 106, thetoolpath volume associated with the second object 116 b is cleared.Then, the post-manufacturing process(es) to be performed on the secondobject 116 b (e.g., which may be the same as the post-manufacturingprocess(es) performed on the first object 116 a) can be performed on thesecond object 116 b. Then, similar to the first object 116 a, the secondobject 116 b is removed from the substrate 106 (e.g., via a slottingtool, a mill, etc.), and the example sequence continues. As shown inFIGS. 8A-8J, each time one of the objects 116 a-116 i is processed andremoved from the substrate 106, the toolpath volume for the next objectin the sequence is cleared. While in this example nine objects are builton the substrate 106, in other examples, more or fewer objects may bebuilt on the substrate 106. In some examples, only two objects are builton the same substrate.

In some examples, when one or more of the objects 116-116 i are removedfrom the substrate 106, the substrate 106 may be turned over or tiltedto allow the respective object(s) 116 a-116 i to fall into a collectiondevice, such as a catch shoot or a modified chip conveyor. In someexamples, to prevent damage to the object(s) 116 a-116 i when removingand/or collecting the object(s) 116 a-116 i, the objects 116 a-116 i maybe protected. For example, in some instances, one or more protectivecovers (e.g., a corrugated polymer sock) may be placed (e.g., via anoperator or an automated machine) on one or more of the objects 116a-116 i before removing the respective object(s) 116-116 i from thesubstrate 106. Then, when the object(s) 116 a-116 i is/are removed fromthe substrate 106, the object(s) 116 a-116 i is/are protected frompotential damage when falling from the substrate 106.

In another example, a protective foam may be sprayed onto the objects116 a-116 i. For example, FIGS. 9A and 9B illustrate an example machine900 that may be used to spray a protective foam 902 onto one or more theobject(s) 116-116 i on the substrate 106. The objects 116 a-116 idepicted in FIGS. 9A and 9B are not exactly the same or in the samepositions as shown in FIGS. 8A-8J, but are depicted merely forillustrative purposes. The machine 900 may correspond to one of thepost-manufacturing machine(s) 104 (FIG. 1), for example. In theillustrated example, the machine 900 includes a moveable nozzle 904 (asshown moving between FIGS. 9A and 9B) that sprays the protective foam902, which may harden or semi-harden to provide a cushioning layer onthe surfaces of the objects 116 a-116 i. The protective foam 902 may be,for example, an expanding urethane foam, a two part foam, and/or anothertype of foam. In some examples, a foam is selected that does not leave aresidue on the object(s) 116 a-116 i after being removed (e.g.,dissolved). The one or more post-manufacturing process(es) may beperformed on the object(s) 116 a-116 i even with the protective foam902. As such, the protective foam 902 stays attached to the areas on theobject(s) 116-116 i that are not machined. The protective foam 902protects the object(s) 116 a-116 i when they are removed from thesubstrate 106 and collected (e.g., dropped into a collection device).Further, the protective foam 902 may also reduce chatter in relativelylarger (taller) parts and/or dampen machining chatter or vibrationduring the post-manufacturing process(es). Then, once the object(s) 116a-116 i is/are removed, the protective foam 902 may be removed. Forexample, the protective foam 902 may be a soluble material (e.g., watersoluble) that dissolves in a liquid solution (e.g., a non-toxicsolvent). In other examples, the protective foam 902 may be removed viamedia blasting.

In some examples, instead of using the layout and sequence determiner124 to determine the layout and sequence, the layout and/or sequence maybe determined manually by a user. For example, the build file generator110 may display, on a display screen of the computer 112, an image ofthe substrate 106 and a plurality of the objects 116 a-116 n on toenable the user to position the object(s) 116 a-116 n in a desiredlayout (e.g., by clicking and dragging) on the substrate 106. Theobject(s) 116 a-116 n may be displayed as 2D or 3D representations withthe toolpath volumes around the respective object(s) 116 a-116 n so thatthe user can see how the object(s) 116 a-116 n are positioned relativeto each other and to the toolpath volumes of the other object(s) 116a-116 n. The user may select one or more of the object(s) 116 a-116 nand position one or more of the object(s) 116-116 n on the substrate 106in a layout where one or more of the object(s) 116 a-116 n are disposedin a toolpath volume of one or more the object(s) 116 a-116 n, asdisclosed in accordance with the teachings of this disclosure. The usermay also select the sequence of removal based on the layout. Then, whenthe desired layout is achieved, the build file generator 110 may removethe toolpath volumes, the build file formatter 126 may create the buildfile 108 for the AM machine 102 based on the final layout, and themachining file generator 128 may crate the machining file 130 based onthe determined sequence.

While in the illustrated example of FIG. 1 the build file generator 110is illustrated as being part of the automated machining system 100(e.g., part of a machining or manufacturing facility), in otherexamples, the build file generator 110 may be implemented by a computingdevice that is remote to the automated machining system 100. Forexample, the build file generator 110 may be implemented by acloud-based computing device (e.g., a server, a virtual machine, etc.)that is remote to a machining facility containing the AM machine 102 andthe post-manufacturing machine(s) 104. In such an example, the buildfile generator 110 may transmit the generated build file and/ordetermined sequence to the facility to be manufactured via the AMmachine 102 and/or the post-manufacturing machine(s) 104. In someexamples, the computer 112 may be the same computing device thatcontrols the operations of the AM machine 102 and/or thepost-manufacturing machine(s) 104. In other examples, one or moreseparate computing devices may be used to control the operations of theAM machine 102 and/or the post-manufacturing machine(s) 104.

Also, while in the illustrated example the post-manufacturing machine(s)104 are shown as separate from the AM machine 102, it is understood thatone or more of the post-manufacturing processes may be performeddirectly by the AM machine 102. For example, the AM machine 102 mayinclude one or more tools for de-powdering the substrate 106, cleaningthe objects 116 a-116 n, cutting material, drilling material, etc. Thus,in some examples, after the object(s) 116-116 n are built using the AMmachine 102, the object(s) 116-116 n (along with the substrate 106)remain in the AM machine 102 for one or more post-manufacturingprocess(es).

Also, while in some of the examples disclosed herein the toolpathvolumes are defined as volumes or 3D spaces around the respectiveobject, in other examples, a toolpath area or zone having only twodimensions may be implemented. For example, a toolpath area or zonedefined by X, Y coordinates may be used to define an area or zonerelative to the respective object, without consideration of the Zdirection.

In some examples, the sequence or one or more portions of the sequenceis/are sent to the post-manufacturing machine(s) 104 (e.g., as part ofthe machining file 130) to perform the post-manufacturing process(es)and removal according to the sequence. In other examples, the sequenceof post-manufacturing process(es) and removal for the objects of asubstrate are included in the build file 108. In such an example, thebuild file 108 (along with the sequence) may be sent to thepost-manufacturing machine(s) 104 (and/or the machine for removing theobjects).

As disclosed herein, in some examples, the build file generator 110selects a subset of the objects 116 a-116 n to be built on the substrate106 (e.g., a first batch). The example build file generator 110 maycontinue to generate build files with the remaining ones of theobject(s) 116 a-116 n until all of the work orders are satisfied.Further, in some examples, multiple AM machines may be implemented inthe automated machining system 100. Therefore, in some examples,multiple AM processes may be used to build objects simultaneously.

While an example manner of implementing the example build file generator110 is illustrated in FIG. 1, one or more of the elements, processesand/or devices illustrated in FIG. 1 may be combined, divided,re-arranged, omitted, eliminated and/or implemented in any other way.Further, the example object file manager 118, the example volume definer122, the example layout and sequence determiner 124, the example AMformatter 126, the example machining file generator and/or, moregenerally, the example build file generator 110 of FIG. 1 may beimplemented by hardware, software, firmware and/or any combination ofhardware, software and/or firmware. Thus, for example, any of theexample object file manager 118, the example volume definer 122, theexample layout and sequence determiner 124, the example AM formatter126, the example machining file generator 128 and/or, more generally,the example build file generator 110 could be implemented by one or moreanalog or digital circuit(s), logic circuits, programmable processor(s),application specific integrated circuit(s) (ASIC(s)), programmable logicdevice(s) (PLD(s)) and/or field programmable logic device(s) (FPLD(s)).When reading any of the apparatus or system claims of this patent tocover a purely software and/or firmware implementation, at least one ofthe example object file manager 118, the example volume definer 122, theexample layout and sequence determiner 124, the example AM formatter126, and/or the example machining file generator 128 is/are herebyexpressly defined to include a non-transitory computer readable storagedevice or storage disk such as a memory, a digital versatile disk (DVD),a compact disk (CD), a Blu-ray disk, etc. including the software and/orfirmware. Further still, the example build file generator 110 of FIG. 1may include one or more elements, processes and/or devices in additionto, or instead of, those illustrated in FIG. 1, and/or may include morethan one of any or all of the illustrated elements, processes anddevices.

A flowchart representative of example machine readable instructions forimplementing the build file generator 110 of FIG. 1 is shown in FIG. 10.In this example, the machine readable instructions comprise a programfor execution by a processor such as the processor 1212 shown in theexample processor platform 1200 discussed below in connection with FIG.12. The program may be embodied in software stored on a non-transitorycomputer readable storage medium such as a CD-ROM, a floppy disk, a harddrive, a digital versatile disk (DVD), a Blu-ray disk, or a memoryassociated with the processor 1212, but the entire program and/or partsthereof could alternatively be executed by a device other than theprocessor 1212 and/or embodied in firmware or dedicated hardware.Further, although the example program is described with reference to theflowchart illustrated in FIG. 10, many other methods of implementing theexample build file generator 110 may alternatively be used. For example,the order of execution of the blocks may be changed, and/or some of theblocks described may be changed, eliminated, or combined. Additionallyor alternatively, any or all of the blocks may be implemented by one ormore hardware circuits (e.g., discrete and/or integrated analog and/ordigital circuitry, a Field Programmable Gate Array (FPGA), anApplication Specific Integrated circuit (ASIC), a comparator, anoperational-amplifier (op-amp), a logic circuit, etc.) structured toperform the corresponding operation without executing software orfirmware.

As mentioned above, the example processes of FIG. 10 may be implementedusing coded instructions (e.g., computer and/or machine readableinstructions) stored on a non-transitory computer and/or machinereadable medium such as a hard disk drive, a flash memory, a read-onlymemory, a compact disk, a digital versatile disk, a cache, arandom-access memory and/or any other storage device or storage disk inwhich information is stored for any duration (e.g., for extended timeperiods, permanently, for brief instances, for temporarily buffering,and/or for caching of the information). As used herein, the termnon-transitory computer readable medium is expressly defined to includeany type of computer readable storage device and/or storage disk and toexclude propagating signals and to exclude transmission media.“Including” and “comprising” (and all forms and tenses thereof) are usedherein to be open ended terms. Thus, whenever a claim lists anythingfollowing any form of “include” or “comprise” (e.g., comprises,includes, comprising, including, etc.), it is to be understood thatadditional elements, terms, etc. may be present without falling outsidethe scope of the corresponding claim. As used herein, when the phrase“at least” is used as the transition term in a preamble of a claim, itis open-ended in the same manner as the term “comprising” and“including” are open ended.

FIG. 10 is a flowchart 1000 representative of example machine readableinstructions that may be executed by a processor (e.g., a processor ofthe computer 112) to implement the build file generator 110 of FIG. 1.The example process of FIG. 10 is described in connection with theexample automated machining system 100 of FIG. 1 having the AM machine102 and the post-manufacturing machine(s) 104. However, in otherexamples, the example process of FIG. 10 may be implemented inconnection with other types of systems or manufacturing facilitieshaving more or fewer AM machines and/or post-manufacturing machines.

At block 1002, the object file manager 118 receives a plurality ofobject files (e.g., work orders), such as the object files 114 a-114 n,corresponding to objects to be manufactured via an AM process. At block1004, the object file manager 118 identifies or determines the one ormore toolpath volumes associated with each of the objects. The toolpathvolumes are associated with one or more toolpath(s) for one or morepost-manufacturing process(es) that are to be performed on therespective objects. The toolpath volumes represent boundaries orcoordinates defining a space that is to be cleared for the tool(s) ofthe post-manufacturing machine(s) 104 to perform the post-manufacturingprocess(es) on the respective objects. In some examples, the object filemanager 118 identifies the toolpath volumes from the machining file(s)117 a-117 n associated with the one or more object file(s) 114 a-114 n.The object file(s) 114 a-114 n and the associated toolpath volumes maybe stored in a library, for example. In some examples, one or more ofthe objects may have multiple toolpath volumes representing multiplepossible toolpaths. Additionally or alternatively, the example volumedefiner 122 may define one or more toolpath volumes for one or more ofthe objects 116 a-116 n. For example, the volume definer 122 may definea first toolpath volume associated with a first object, a secondtoolpath volume associated with a second object, and so forth. In suchan example, identifying the toolpath volume(s) at block 1004 includesdefining the volume(s) associated with one or more of the objects. Insome examples, no post-manufacturing processes are to be performed on anobject. In such an example, no toolpath volume is identified and/ordefined.

At block 1006, the layout and sequence determiner 124 performs ananalysis based on the toolpath volumes (and/or one or more otherparameters) and selects two or more (e.g., a set) of the objects 116a-116 n to build on a same substrate and determines a layout and asequence of post-manufacturing and removal for the objects. For example,the layout and sequence determiner 124 may perform a mathematicalcomputation that analyzes the sizes of the objects 116 a-116 n (and/orthe possible orientations of the objects 116 a-116 n), the sizes of theone or more toolpath volumes associated with each of the objects 116a-116 n, and/or the size of the substrate 106. Additionally oralternatively, one or more other factors may be considered whenselecting the objects to build on the same substrate, such as a requestdate of an object (e.g., a date a work order was placed), a promise dateof a work order, the anticipated time of completing the object, etc. Insome examples, the example layout and sequence determiner 124 determinesa layout that maximizes the population density of the objects to bebuilt (i.e., maximizes the number of objects on a given substrate).

In some examples, in the determined layout, one or more of the selectedobjects 116 a-116 n are disposed within (or partially within) thetoolpath volume(s) of one or more other ones of the objects 116 a-116 n.For example, as in the example layout 700 of FIG. 7, the first object116 a is disposed within the toolpath volume associated with the secondobject 116 b. However, as disclosed above in connection with FIGS.8A-8J, the sequence of post-manufacturing and removal of the objects 116a-116 i enables the respective toolpath volumes to be cleared before thepost-manufacturing process for a respective object is to be performed.

At block 1008, the AM formatter 126 generates the build file 108 for theselected objects based on the determined layout. In some examples, theAM formatter 126 formats the build file 108 for a specific type of AMmachine (e.g., generates the instructions for creating each layer of theobject(s)). Once the build file 108 is generated, the build file 108 maybe used by the AM machine 102 to create the object(s) on the substrate106 according to the layout. At block 1010, the machining file generator128 generates the machining file 130 containing the sequence ofpost-manufacturing and removal of the objects. In some such examples,the machining file 130 is used by the post-manufacturing machine(s) 104to perform the post-manufacturing process(es) and removal of theobjects. In other examples, the determined sequence may be included aspart of the build file 108, which may instead be used by thepost-manufacturing machine(s) 104. In some examples, the machining filegenerator 128 generates one or more inspection files that may be used byone or more of the post-manufacturing machine(s) 104, such as a 3Dscanner or CMM, to ensure the object(s) 116 a-116 n are built to theirproper specification before machining and/or removal.

FIG. 11 is a flowchart 1100 representative of an example method that maybe performed by an AM machine and one or more post-manufacturingmachine(s) to build one or more objects according to a sequence asdetermined by the build file generator 110. The example process of FIG.11 is described in connection with the example automated machiningsystem 100 of FIG. 1 having the AM machine 102 and thepost-manufacturing machine(s) 104. However, in other examples, theexample process of FIG. 11 may be implemented in connection with othertypes of systems or manufacturing facilities having more or fewer AMmachines and/or post-manufacturing machines.

At block 1102, the AM machine 102 builds the objects 116 a-116 n on thesubstrate 106 according to the build file 108, which defines the layoutof the selected ones of the objects 116 a-116 n. At block 1104, one ofthe post-manufacturing machine(s) 104 (e.g., the CNC machine 400 of FIG.4) performs a first post-manufacturing process on the first one of theobjects 116 a-116 n in the sequence. The sequence may be part of themachining file 130 and/or the build file 108 and provided to thepost-manufacturing machines(s) 104. The post-manufacturing process mayinclude machining (e.g., via the CNC machine 400 of FIG. 4) the object,for example. In some examples, only one post-manufacturing process isperformed on the first object in the sequence. In other examples,multiple post-manufacturing processes are performed on the first objectin the sequence via the same post-manufacturing machine or differentpost-manufacturing machine(s).

After the post-manufacturing process(es) is/are performed on the firstobject in the sequence, the first object, at block 1106, is removed fromthe substrate 106 in accordance with the sequence. The first object maybe removed from the substrate 106 using a slotting tool, for example.The first object may be removed from the substrate 106 using the samepost-manufacturing machine. For example the CNC machine 400 thatperformed the first post-manufacturing process on the first object mayalso remove the first object from the substrate 106 using a slottingtool or milling tool. Thus, in some examples, the substrate 106 stayswith the same machine that previously performed the post-manufacturingprocess at block 1104. In other examples, the removal operation isperformed by a different post-manufacturing machine. Thus, in someexamples, the substrate 106 may be transferred (e.g., via an automateddevice) to another machine for removing the first object.

At block 1108, one of the post-manufacturing machine(s) 104 (e.g., theCNC machine 400 of FIG. 4) performs a second post-manufacturing processon a second one of the objects 116 a-116 n, which is the next object inthe sequence. Similar to the first object, one or morepost-manufacturing processes may be performed on the second object bythe same or different machines. At block 1110, the second object isremoved from the substrate 106. Similar to the first object, the secondobject may be removed using a slotting tool. In other examples, anothertype of machine may be used to remove the second object.

At block 1112, the example method includes determining if there are moreobjects on the substrate to be processed and/or removed. If there aremore objects, the example method returns to blocks 1108 and 1110, andone or more post-manufacturing processes are performed on the nextobject in accordance with the sequence and/or the object is removed inaccordance with the sequence. The example process of blocks 1108-1112may continue until all of the objects are processed and/or removed fromthe substrate 106. While in the illustrated example the objects areremoved after the associated post-manufacturing process(es) is/areperformed on the object, in other examples, the sequence may includeperforming one or more post-manufacturing process(es) on multiple onesof the objects before removing an object.

In some examples, an initial post-manufacturing process, which may occurbefore removing the first object at block 1106, includes spraying one ormore of object(s) 116 a-116 n with a protective foam. The protectivefoam may be sprayed manually or with a machine, such as the machine 900of FIG. 9. The protective foam may provide a cushioning layer to theobject(s) 116 a-116 n to prevent damage the object(s) 116 a-116 n asthey are removed from the substrate 106 and collected.

While the example processes of FIGS. 10 and 11 are described inconnection with an AM type process that creates the objects on asubstrate, the example processes may be similarly performed with othertypes of machining processes that can produce objects on a substrate inclose proximity. For example, the objects may instead be built on asubstrate using a high volume CNC machine or a casting process. Theexample layout and sequence determination and post-manufacturingprocess/removal process(es) disclosed herein can likewise be used toenable the parts to be produced in a more compact manner on thesubstrate and remain on the substrate during the post-manufacturingprocesses, similar to examples disclosed herein. Thus, the examplesdisclosed herein can be applied to other types of manufacturingprocesses other than AM.

FIG. 12 is a block diagram of an example processor platform 1200structured to execute the instructions of FIG. 10 to implement the buildfile generator 110 of FIG. 1. The processor platform 1200 can be, forexample, a server, a personal computer (e.g., the computer 112 of FIG.1), a mobile device (e.g., a cell phone, a smart phone, a tablet such asan iPad™), a personal digital assistant (PDA), or any other type ofcomputing device.

The processor platform 1200 of the illustrated example includes aprocessor 1212. The processor 1212 of the illustrated example ishardware. For example, the processor 1212 can be implemented by one ormore integrated circuits, logic circuits, microprocessors or controllersfrom any desired family or manufacturer. The hardware processor may be asemiconductor based (e.g., silicon based) device. In this example, theprocessor 1212 may implement the example object file manager 118, theexample volume definer 122, the example layout and sequence determiner124, the example AM formatter 126, the example machining file generator128 and/or, more generally, the example build file generator 110 of FIG.1.

The processor 1212 of the illustrated example includes a local memory1213 (e.g., a cache). The processor 1212 of the illustrated example isin communication with a main memory including a volatile memory 1214 anda non-volatile memory 1216 via a bus 1218. The volatile memory 1214 maybe implemented by Synchronous Dynamic Random Access Memory (SDRAM),Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory(RDRAM) and/or any other type of random access memory device. Thenon-volatile memory 1216 may be implemented by flash memory and/or anyother desired type of memory device. Access to the main memory 1214,1216 is controlled by a memory controller.

The processor platform 1200 of the illustrated example also includes aninterface circuit 1220. The interface circuit 1220 may be implemented byany type of interface standard, such as an Ethernet interface, auniversal serial bus (USB), and/or a PCI express interface.

In the illustrated example, one or more input devices 1222 are connectedto the interface circuit 1220. The input device(s) 1222 permit(s) a userto enter data and/or commands into the processor 1212. The inputdevice(s) can be implemented by, for example, an audio sensor, amicrophone, a camera (still or video), a keyboard, a button, a mouse, atouchscreen, a track-pad, a trackball, isopoint and/or a voicerecognition system.

One or more output devices 1224 are also connected to the interfacecircuit 1220 of the illustrated example. The output device(s) 1224 canbe implemented, for example, by display devices (e.g., a light emittingdiode (LED), an organic light emitting diode (OLED), a liquid crystaldisplay, a cathode ray tube display (CRT), a touchscreen, a tactileoutput device, a printer and/or speakers). The interface circuit 1220 ofthe illustrated example, thus, typically includes a graphics drivercard, a graphics driver chip and/or a graphics driver processor.

The interface circuit 1220 of the illustrated example also includes acommunication device such as a transmitter, a receiver, a transceiver, amodem and/or network interface card to facilitate exchange of data withexternal machines (e.g., computing devices of any kind) via a network1226 (e.g., an Ethernet connection, a digital subscriber line (DSL), atelephone line, coaxial cable, a cellular telephone system, etc.).

The processor platform 1200 of the illustrated example also includes oneor more mass storage devices 1228 for storing software and/or data.Examples of such mass storage devices 1228 include floppy disk drives,hard drive disks, compact disk drives, Blu-ray disk drives, RAIDsystems, and digital versatile disk (DVD) drives. In this example, themass storage device 1228 may implement the memory 120.

The coded instructions 1232 of FIG. 10 may be stored in the mass storagedevice 1228, in the volatile memory 1214, in the non-volatile memory1216, and/or on a removable tangible computer readable storage mediumsuch as a CD or DVD.

From the foregoing, it will be appreciated that example methods,apparatus, systems, and articles of manufacture have been disclosed forgenerating a build file that defines a high-density layout of objects.As a result, more objects can be built or formed with an AM machine in ashorter period of time. Further, example methods, apparatus, systems,and articles of manufacture disclosed herein enable objects to remainfixed to a substrate during the one or more post-manufacturingprocess(es), which may be advantageous, for example, with objects havingcomplex geometries that are not easily fixable to the post-manufacturingmachines.

Although certain example methods, apparatus, systems, and articles ofmanufacture have been described herein, the scope of coverage of thispatent is not limited thereto. On the contrary, this patent covers allmethods, apparatus, systems, and articles of manufacture fairly fallingwithin the scope of the appended claims either literally or under thedoctrine of equivalents.

What is claimed is:
 1. A build file generator comprising: an object filemanager to: identify a first toolpath volume associated with a firstobject to be formed via an additive manufacturing (AM) process, thefirst toolpath volume based on a first toolpath of a firstpost-manufacturing process to be used on the first object; identify asecond toolpath volume associated with a second object to be formed viathe AM process, the second toolpath volume based on a second toolpath ofa second post-manufacturing process to be used on the second object; anda layout determiner to determine a layout of the first and secondobjects to be formed on a substrate by the AM process based on the firstand second toolpath volumes, according to the layout, the first objectis at least partially disposed within the second toolpath volume.
 2. Thebuild file generator of claim 1, wherein the layout determiner is todetermine a sequence defining one or more post-manufacturing processesto be performed on the first object and the second object and removal ofthe first object and the second object from the substrate.
 3. The buildfile generator of claim 2, wherein the sequence indicates the firstpost-manufacturing process is to be performed on the first object andthe first object is to be removed from the substrate before the secondpost-manufacturing process is to be performed on the second object. 4.The build file generator of claim 1, wherein at least one of the firstpost-manufacturing process or the second post-manufacturing process is asubtractive manufacturing process.
 5. The build file generator of claim1, further including an AM formatter to generate a build file based onthe layout, the build file to be used by an AM machine to build thefirst and second objects.
 6. A method of producing objects, the methodcomprising: building, via an additive manufacturing (AM) machine, afirst object and a second object on a substrate according to a buildfile, the build file defining a layout of the first object and thesecond object on the substrate, according to the layout, the secondobject is at least partially disposed within a first toolpath volumeassociated with the first object, the first toolpath volume based on afirst toolpath for a first post-manufacturing process to be performed onthe first object; removing the second object from the substrate; andafter removing the second object from the substrate, performing, via afirst post-manufacturing machine, the first post-manufacturing processon the first object while the first object is fixed on the substrate. 7.The method of claim 6, wherein, according to the layout, the firstobject is not disposed in a second toolpath volume associated with thesecond object, the second toolpath volume based on a second toolpath fora second post-manufacturing process to be performed on the secondobject.
 8. The method of claim 7, further including, prior to removingthe second object from the substrate, performing, via a secondpost-manufacturing machine, the second post-manufacturing process on thesecond object while both the first and second objects are fixed on thesubstrate.
 9. The method of claim 6, wherein the firstpost-manufacturing process is a subtractive manufacturing process. 10.The method of claim 9, wherein the first post-manufacturing machine is acomputer numerical control (CNC) machine.
 11. The method of claim 6,wherein the AM machine is a powder bed fusion machine.
 12. The method ofclaim 6, further including, prior to removing the second object from thesubstrate, spraying at least one of the first object or the secondobject with a protective foam.
 13. A non-transitory machine readablestorage medium comprising instructions that, when executed, cause atleast one machine to at least: identify a first toolpath volumeassociated with a first object to be formed via an additivemanufacturing (AM) process, the first toolpath volume based on a firsttoolpath of a first post-manufacturing process to be performed on thefirst object; identify a second toolpath volume associated with a secondobject to be formed via the AM process, the second toolpath volume basedon a second toolpath of a second post-manufacturing process to beperformed on the second object; and generate a build file for an AMmachine based on the first toolpath volume and the second toolpathvolume, the build file including a layout of the first and secondobjects to be formed on a substrate by the AM machine.
 14. Thenon-transitory machine readable storage medium of claim 13, wherein theinstructions, when executed, further cause the at least one machine todetermine a sequence of post-manufacturing processes and removal of thefirst object and the second object.
 15. The non-transitory machinereadable storage medium of claim 14, wherein the sequence indicates thefirst post-manufacturing process is to be performed on the first objectand the first object is to be removed from the substrate before thesecond post-manufacturing process is to be performed on the secondobject.
 16. The non-transitory machine readable storage medium of claim15, wherein, according to the layout, the first object is at leastpartially disposed within the second toolpath volume associated with thesecond object.
 17. The non-transitory machine readable storage medium ofclaim 13, wherein the first post-manufacturing process and the secondpost-manufacturing process are a same type post-manufacturing process.18. The non-transitory machine readable storage medium of claim 13,wherein at least one of the first post-manufacturing process or thesecond post-manufacturing process is a subtractive manufacturingprocess.
 19. The non-transitory machine readable storage medium of claim13, wherein the first object and the second object are a same type ofobject.
 20. The non-transitory machine readable storage medium of claim13, wherein the instructions, when executed, further cause the at leastone machine to select, prior to generating the build file, the first andsecond objects from a plurality of objects to form on the substratebased on at least one of the first toolpath volume, the second toolpathvolume, a promise date for at least one of the first or second objects,or a request date for at least one of the first or second objects.